package com.xd.core.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xd.core.business.dto.EditInsurerDto;
import com.xd.core.business.dto.InsurerAccountDto;
import com.xd.core.business.dto.InsurerDto;
import com.xd.core.business.entity.InsuranceCompanyInfo;
import com.xd.core.business.vo.InsurerListVo;

import java.util.List;

/**
 * <p>
 * 投保公司信息 服务类
 * </p>
 *
 * @author Zch
 * @since 2025-06-18
 */
public interface IInsuranceCompanyInfoService extends IService<InsuranceCompanyInfo> {

    /**
     * @description 新增投保公司
     * @author Zch
     * @date 17:20 2025/6/18 星期三
     * @return void
     **/
    void addInsurer(InsurerDto insurerDto);

    /**
     * @description 资方投保公司列表
     * @author Zch
     * @date 10:06 2025/6/19 星期四
     * @return com.xd.core.business.vo.InsurerListVo
     **/
    List<InsurerListVo> insurerList(Integer companyId);

    /***
     * @description 投保公司编辑回显
     * @author Zch
     * @date 10:34 2025/6/19 星期四
     * @return com.xd.core.business.vo.InsurerListVo
     **/
    InsurerListVo insurerOne(Integer insurerId);

    /***
     * @description 编辑投保公司
     * @author Zch
     * @date 10:40 2025/6/19 星期四
     * @return void
     **/
    void editInsurer(EditInsurerDto editInsurerDto);

    /***
     * @description 投保公司账户信息查询
     * @author Zch
     * @date 10:59 2025/6/19 星期四
     * @return com.xd.core.business.dto.InsurerAccountDto
     **/
    InsurerAccountDto insurerAccount(Integer insurerId);

    /***
     * @description 修改投保机构启用状态
     * @author Zch
     * @date 11:10 2025/6/20 星期五
     * @return void
     **/
    void editInsurerEnable(Integer isEnable, Integer insurerId);
}
